home *** CD-ROM | disk | FTP | other *** search
/ FishMarket 1.0 / FishMarket v1.0.iso / fishies / 201-225 / disk_206 / stereodemo / sources / stereo.i < prev    next >
Text File  |  1992-05-06  |  16KB  |  749 lines

  1.  
  2. SUD    equ    $10
  3. SUL    equ    $8
  4. AUL    equ    $4
  5. OCTANT8    equ    24
  6. OCTANT7    equ    4
  7. OCTANT6    equ    12
  8. OCTANT5    equ    28
  9. OCTANT4    equ    20
  10. OCTANT3    equ    8
  11. OCTANT2    equ    0
  12. OCTANT1    equ    16
  13.  
  14. NT_MSGPORT    EQU    4
  15. IDNestCnt    EQU    $22
  16.  
  17.     BITDEF    MEM,PUBLIC,0
  18.     BITDEF    MEM,CHIP,1
  19.     BITDEF    MEM,FAST,2
  20.     BITDEF    MEM,CLEAR,16
  21.     BITDEF    MEM,LARGEST,17
  22. MEM_BLOCKSIZE    EQU    8
  23. MEM_BLOCKMASK    EQU    (MEM_BLOCKSIZE-1)
  24.  
  25.  
  26.     STRUCTURE    ClipRect,0
  27.     LONG    cr_Next
  28.     LONG    cr_Prev
  29.     LONG    cr_LObs
  30.     LONG    cr_BitMap
  31.     WORD    cr_MinX
  32.     WORD    cr_MinY
  33.     WORD    cr_MaxX
  34.     WORD    cr_MaxY
  35.     APTR    cr__p1
  36.     APTR    cr__p2
  37.     LONG    cr_reserved
  38.     LABEL    cr_SIZEOF
  39.  
  40.     STRUCTURE    BitMap,0
  41.     WORD    bm_BytesPerRow
  42.     WORD    bm_Rows
  43.     BYTE    bm_Flags
  44.     BYTE    bm_Depth
  45.     WORD    bm_Pad
  46.     STRUCT    bm_Planes,8*4
  47.     LABEL    bm_SIZEOF
  48.  
  49.     STRUCTURE    Border,0
  50.     WORD    bd_LeftEdge        
  51.     WORD    bd_TopEdge        
  52.     UBYTE    bd_FrontPen        
  53.     UBYTE    bd_BackPen        
  54.     UBYTE    bd_DrawMode        
  55.     BYTE    bd_Count        
  56.     APTR    bd_XY            
  57.     APTR    bd_NextBorder        
  58.     LABEL    bd_SIZEOF
  59.     STRUCTURE    Requester,0
  60.     APTR    rq_OlderRequest
  61.     WORD    rq_LeftEdge        
  62.     WORD    rq_TopEdge        
  63.     WORD    rq_Width        
  64.     WORD    rq_Height        
  65.     WORD    rq_RelLeft        
  66.     WORD    rq_RelTop        
  67.     APTR    rq_ReqGadget        
  68.     APTR    rq_ReqBorder        
  69.     APTR    rq_ReqText        
  70.     WORD    rq_Flags        
  71.     UBYTE    rq_BackFill
  72.     BYTE    rq_KludgeFill00        
  73.     STRUCT    rq_ReqCRect,cr_SIZEOF    
  74.     APTR    rq_ReqBMap        
  75.     STRUCT    rq_BitMap,bm_SIZEOF
  76.     LABEL    rq_SIZEOF
  77.     STRUCTURE    IntuiText,0
  78.     UBYTE    it_FrontPen        
  79.     UBYTE    it_BackPen        
  80.     UBYTE    it_DrawMode        
  81.     BYTE    it_KludgeFill00        
  82.     WORD    it_LeftEdge        
  83.     WORD    it_TopEdge        
  84.     APTR    it_ITextFont        
  85.     APTR    it_IText        
  86.     APTR    it_NextText        
  87.     LABEL    it_SIZEOF
  88.  
  89.     STRUCTURE    TextAttr,0
  90.     APTR    ta_Name    
  91.     UWORD    ta_YSize    
  92.     UBYTE    ta_Style    
  93.     UBYTE    ta_Flags    
  94.     LABEL    ta_SIZEOF
  95.  
  96. V_PFBA    EQU    $40
  97. V_DUALPF    EQU    $400
  98. V_HIRES    EQU    $8000
  99. V_LACE    EQU    4
  100. V_HAM    EQU    $800
  101. V_SPRITES    EQU    $4000
  102. GENLOCK_VIDEO    EQU    2
  103.     STRUCTURE    ColorMap,0
  104.         BYTE    cm_Flags
  105.         BYTE    cm_Type
  106.         WORD    cm_Count
  107.         APTR    cm_ColorTable
  108.     LABEL    cm_SIZEOF
  109.  
  110.     STRUCTURE    ViewPort,0
  111.     LONG    vp_Next
  112.     LONG    vp_ColorMap
  113.     LONG    vp_DspIns
  114.     LONG    vp_SprIns
  115.     LONG    vp_ClrIns
  116.     LONG    vp_UCopIns
  117.     WORD    vp_DWidth
  118.     WORD    vp_DHeight
  119.     WORD    vp_DxOffset
  120.     WORD    vp_DyOffset
  121.     WORD    vp_Modes
  122.     WORD    vp_reserved
  123.     APTR    vp_RasInfo
  124.     LABEL    vp_SIZEOF
  125.  
  126.     STRUCTURE    View,0
  127.     LONG    v_ViewPort
  128.     LONG    v_LOFCprList
  129.     LONG    v_SHFCprList
  130.     WORD    v_DyOffset
  131.     WORD    v_DxOffset
  132.     WORD    v_Modes
  133.     LABEL    v_SIZEOF
  134.  
  135.     STRUCTURE    collTable,0
  136.     LONG    cp_collPtrs,16
  137.     LABEL    cp_SIZEOF
  138.  
  139.     STRUCTURE    RasInfo,0
  140.     APTR    ri_Next
  141.     LONG    ri_BitMap
  142.     WORD    ri_RxOffset
  143.     WORD    ri_RyOffset
  144.     LABEL    ri_SIZEOF
  145.  
  146.     STRUCTURE    LN,0
  147.     APTR    LN_SUCC
  148.     APTR    LN_PRED
  149.     UBYTE    LN_TYPE
  150.     BYTE    LN_PRI
  151.     APTR    LN_NAME
  152.     LABEL    LN_SIZE
  153.  
  154.     STRUCTURE    ML,LN_SIZE
  155.     UWORD    ML_NUMENTRIES    *    The    number    of    ME    structures    that    follow
  156.     LABEL    ML_ME    *    where    the    ME    structures    begin
  157.     LABEL    ML_SIZE
  158.  
  159.     STRUCTURE    LH,0
  160.     APTR    LH_HEAD
  161.     APTR    LH_TAIL
  162.     APTR    LH_TAILPRED
  163.     UBYTE    LH_TYPE
  164.     UBYTE    LH_pad
  165.     LABEL    LH_SIZE
  166.  
  167.     STRUCTURE    MP,LN_SIZE
  168.     UBYTE    MP_FLAGS
  169.     UBYTE    MP_SIGBIT    *    signal    bit    number
  170.     APTR    MP_SIGTASK    *    task    to    be    signalled
  171.     STRUCT    MP_MSGLIST,LH_SIZE    *    message    linked    list
  172.     LABEL    MP_SIZE
  173.  
  174.     STRUCTURE    Layer_Info,0
  175.     APTR    li_top_layer
  176.     APTR    li_check_lp
  177.     APTR    li_obs
  178.     STRUCT    li_RP_ReplyPort,MP_SIZE
  179.     STRUCT    li_LockPort,MP_SIZE
  180.     BYTE    li_Lock
  181.     BYTE    li_broadcast
  182.     BYTE    li_locknest
  183.     BYTE    li_pad
  184.     APTR    li_Locker
  185.     STRUCT        li_bytereserved,2
  186.     STRUCT        li_wordreserved,4
  187.     STRUCT        li_longreserved,8
  188.     LABEL    li_SIZEOF
  189.  
  190.     STRUCTURE    RastPort,0
  191.     LONG    rp_Layer
  192.     LONG    rp_BitMap
  193.     LONG    rp_AreaPtrn
  194.     LONG    rp_TmpRas
  195.     LONG    rp_AreaInfo
  196.     LONG    rp_GelsInfo
  197.     BYTE    rp_Mask
  198.     BYTE    rp_FgPen
  199.     BYTE    rp_BgPen
  200.     BYTE    rp_AOLPen
  201.     BYTE    rp_DrawMode
  202.     BYTE    rp_AreaPtSz
  203.     BYTE    rp_Dummy
  204.     BYTE    rp_linpatcnt
  205.     WORD    rp_Flags
  206.     WORD    rp_LinePtrn
  207.     WORD    rp_cp_x
  208.     WORD    rp_cp_y
  209.     STRUCT    rp_minterms,8
  210.     WORD    rp_PenWidth
  211.     WORD    rp_PenHeight
  212.     LONG    rp_Font
  213.     BYTE    rp_AlgoStyle
  214.     BYTE    rp_TxFlags
  215.     WORD    rp_TxHeight
  216.     WORD    rp_TxWidth
  217.     WORD    rp_TxBaseline
  218.     WORD    rp_TxSpacing
  219.     APTR    rp_RP_User
  220.     STRUCT    rp_wordreserved,14
  221.     STRUCT    rp_longreserved,8
  222.     STRUCT    rp_reserved,8
  223.     LABEL    rp_SIZEOF
  224.     STRUCTURE    Window,0
  225.     APTR    wd_NextWindow        
  226.     WORD    wd_LeftEdge        
  227.     WORD    wd_TopEdge        
  228.     WORD    wd_Width        
  229.     WORD    wd_Height        
  230.     WORD    wd_MouseY        
  231.     WORD    wd_MouseX        
  232.     WORD    wd_MinWidth        
  233.     WORD    wd_MinHeight        
  234.     WORD    wd_MaxWidth        
  235.     WORD    wd_MaxHeight        
  236.     LONG    wd_Flags        
  237.     APTR    wd_MenuStrip        
  238.     APTR    wd_Title        
  239.     APTR    wd_FirstRequest    
  240.     APTR    wd_DMRequest        
  241.     WORD    wd_ReqCount        
  242.     APTR    wd_WScreen        
  243.     APTR    wd_RPort            
  244.     BYTE    wd_BorderLeft
  245.     BYTE    wd_BorderTop
  246.     BYTE    wd_BorderRight
  247.     BYTE    wd_BorderBottom
  248.     APTR    wd_BorderRPort    
  249.     APTR    wd_FirstGadget    
  250.     APTR    wd_Parent
  251.     APTR    wd_Descendant    
  252.     APTR    wd_Pointer
  253.     BYTE    wd_PtrHeight
  254.     BYTE    wd_PtrWidth
  255.     BYTE    wd_XOffset
  256.     BYTE    wd_YOffset    
  257.     ULONG    wd_IDCMPFlags
  258.     APTR    wd_UserPort
  259.     APTR    wd_WindowPort
  260.     APTR    wd_MessageKey
  261.     BYTE    wd_DetailPen
  262.     BYTE    wd_BlockPen    
  263.     APTR    wd_CheckMark    
  264.     APTR    wd_ScreenTitle    
  265.     SHORT    wd_GZZMouseX
  266.     SHORT    wd_GZZMouseY    
  267.     SHORT    wd_GZZWidth
  268.     SHORT    wd_GZZHeight
  269.     APTR    wd_ExtData    
  270.     APTR    wd_UserData
  271.     LABEL    wd_Size
  272. WINDOWSIZING        equ    $0001    
  273. WINDOWDRAG        equ    $0002    
  274. WINDOWDEPTH        equ    $0004    
  275. WINDOWCLOSE        equ    $0008    
  276. SIZEBRIGHT    equ    $0010    
  277. SIZEBBOTTOM    equ    $0020    
  278. REFRESHBITS    equ    $00C0
  279. SMART_REFRESH    equ    $0000
  280. SIMPLE_REFRESH    equ    $0040
  281. SUPER_BITMAP    equ    $0080
  282. OTHER_REFRESH    equ    $00C0
  283. BACKDROP    equ    $0100    
  284. REPORTMOUSE    equ    $0200    
  285. GIMMEZEROZERO    equ    $0400    
  286. BORDERLESS    equ    $0800    
  287. ACTIVATE    equ    $1000    
  288. WINDOWACTIVE    equ    $2000    
  289. INREQUEST        equ    $4000    
  290. MENUSTATE        equ    $8000    
  291. RMBTRAP        equ    $00010000    
  292. NOCAREREFRESH    equ    $00020000    
  293. WINDOWREFRESH    equ    $01000000    
  294. WBENCHWINDOW    equ    $02000000    
  295. SUPER_UNUSED    equ    $FCFC0000    
  296.     STRUCTURE    NewWindow,0
  297.     WORD    nw_LeftEdge        
  298.     WORD    nw_TopEdge        
  299.     WORD    nw_Width        
  300.     WORD    nw_Height        
  301.     BYTE    nw_DetailPen        
  302.     BYTE    nw_BlockPen        
  303.     ULONG    nw_IDCMPFlags        
  304.     LONG    nw_Flags            
  305.     APTR    nw_FirstGadget    
  306.     APTR    nw_CheckMark
  307.     APTR    nw_Title            
  308.     APTR    nw_Screen    
  309.     APTR    nw_BitMap    
  310.     WORD    nw_MinWidth
  311.     WORD    nw_MinHeight
  312.     WORD    nw_MaxWidth
  313.     WORD    nw_MaxHeight    
  314.     WORD    nw_Type
  315.     LABEL    nw_SIZE
  316.     STRUCTURE    Screen,0
  317.     APTR    sc_NextScreen        
  318.     APTR    sc_FirstWindow        
  319.     WORD    sc_LeftEdge        
  320.     WORD    sc_TopEdge        
  321.     WORD    sc_Width        
  322.     WORD    sc_Height        
  323.     WORD    sc_MouseY        
  324.     WORD    sc_MouseX        
  325.     WORD    sc_Flags        
  326.     APTR    sc_Title
  327.     APTR    sc_DefaultTitle    
  328.     BYTE    sc_BarHeight
  329.     BYTE    sc_BarVBorder
  330.     BYTE    sc_BarHBorder
  331.     BYTE    sc_MenuVBorder
  332.     BYTE    sc_MenuHBorder
  333.     BYTE    sc_WBorTop
  334.     BYTE    sc_WBorLeft
  335.     BYTE    sc_WBorRight
  336.     BYTE    sc_WBorBottom    
  337.     BYTE    sc_KludgeFill00            
  338.     APTR    sc_Font            
  339.     STRUCT    sc_ViewPort,vp_SIZEOF    
  340.     STRUCT    sc_RastPort,rp_SIZEOF    
  341.     STRUCT    sc_BitMap,bm_SIZEOF        
  342.     STRUCT    sc_LayerInfo,li_SIZEOF        
  343.     APTR    sc_FirstGadget
  344.     BYTE    sc_DetailPen        
  345.     BYTE    sc_BlockPen            
  346.     WORD    sc_SaveColor0    
  347.     APTR    BarLayer
  348.     APTR    sc_ExtData
  349.     APTR    sc_UserData        
  350.     LABEL    sc_SIZEOF
  351. SCREENTYPE    equ    $000F    
  352. WBENCHSCREEN    equ    $0001    
  353. CUSTOMSCREEN    equ    $000F    
  354. SHOWTITLE    equ    $0010    
  355. BEEPING        equ    $0020    
  356. CUSTOMBITMAP    equ    $0040    
  357.     STRUCTURE    NewScreen,0
  358.     WORD    ns_LeftEdge        
  359.     WORD    ns_TopEdge        
  360.     WORD    ns_Width        
  361.     WORD    ns_Height        
  362.     WORD    ns_Depth        
  363.     BYTE    ns_DetailPen        
  364.     BYTE    ns_BlockPen        
  365.     WORD    ns_ViewModes        
  366.     WORD    ns_Type        
  367.     APTR    ns_Font        
  368.     APTR    ns_DefaultTitle    
  369.     APTR    ns_Gadgets            
  370.     APTR    ns_CustomBitMap
  371.     LABEL    ns_SIZEOF
  372.  
  373.     STRUCTURE    MN,LN_SIZE
  374.     APTR    MN_REPLYPORT    *    message    reply    port
  375.     UWORD    MN_LENGTH    *    message    len    in    bytes
  376.     LABEL    MN_SIZE
  377.     STRUCTURE    IO,MN_SIZE
  378.     APTR    IO_DEVICE    *    device    node    pointer
  379.     APTR    IO_UNIT    *    unit    (driver    private)
  380.     UWORD    IO_COMMAND    *    device    command
  381.     UBYTE    IO_FLAGS    *    special    flags
  382.     BYTE    IO_ERROR    *    error    or    warning    code
  383.     LABEL    IO_SIZE
  384.     ULONG    IO_ACTUAL    *    actual    #    of    bytes    transfered
  385.     ULONG    IO_LENGTH    *    requested    #    of    bytes    transfered
  386.     APTR    IO_DATA    *    pointer    to    data    area
  387.     ULONG    IO_OFFSET    *    offset    for    seeking    devices
  388.     LABEL    IOSTD_SIZE
  389.  
  390. DEFPITCH    EQU    110    
  391. DEFRATE    EQU    150    
  392. DEFVOL    EQU    64    
  393. DEFFREQ    EQU    22200    
  394. NATURALF0    EQU    0            
  395. ROBOTICF0    EQU    1            
  396. MALE    EQU    0    
  397. FEMALE    EQU    1    
  398. DEFSEX    EQU    MALE    
  399. DEFMODE    EQU    NATURALF0    
  400. MINRATE    EQU    40    
  401. MAXRATE    EQU    400    
  402. MINPITCH    EQU    65    
  403. MAXPITCH    EQU    320    
  404. MINFREQ    EQU    5000        
  405. MAXFREQ    EQU    28000        
  406. MINVOL    EQU    0            
  407. MAXVOL    EQU    64            
  408. ND_NotUsed    EQU    -1        
  409. ND_NoMem    EQU    -2        
  410. ND_NoAudLib    EQU    -3        
  411. ND_MakeBad    EQU    -4        
  412. ND_UnitErr    EQU    -5        
  413. ND_CantAlloc    EQU    -6        
  414. ND_Unimpl    EQU    -7        
  415. ND_NoWrite    EQU    -8        
  416. ND_Expunged    EQU    -9        
  417. ND_PhonErr    EQU    -20        
  418. ND_RateErr    EQU    -21        
  419. ND_PitchErr    EQU    -22        
  420. ND_SexErr    EQU    -23        
  421. ND_ModeErr    EQU    -24        
  422. ND_FreqErr    EQU    -25        
  423. ND_VolErr    EQU    -26        
  424.     STRUCTURE    NDI,IOSTD_SIZE
  425.     UWORD    NDI_RATE        
  426.     UWORD    NDI_PITCH        
  427.     UWORD    NDI_MODE        
  428.     UWORD    NDI_SEX            
  429.     APTR    NDI_CHMASKS        
  430.     UWORD    NDI_NUMMASKS        
  431.     UWORD    NDI_VOLUME        
  432.     UWORD    NDI_SAMPFREQ        
  433.     UBYTE    NDI_MOUTHS        
  434.     UBYTE    NDI_CHANMASK        
  435.     UBYTE    NDI_NUMCHAN        
  436.     UBYTE    NDI_PAD            
  437.     LABEL    NDI_SIZE        
  438.     STRUCTURE    MRB,NDI_SIZE
  439.     UBYTE    MRB_WIDTH        
  440.     UBYTE    MRB_HEIGHT        
  441.     UBYTE    MRB_SHAPE        
  442.     UBYTE    MRB_PAD            
  443.     LABEL    MRB_SIZE
  444. ADHARD_CHANNELS        EQU    4
  445. ADALLOC_MINPREC        EQU    -128
  446. ADALLOC_MAXPREC        EQU    127
  447. ADCMD_FREE        EQU    CMD_NONSTD+0
  448. ADCMD_SETPREC        EQU    CMD_NONSTD+1
  449. ADCMD_FINISH        EQU    CMD_NONSTD+2
  450. ADCMD_PERVOL        EQU    CMD_NONSTD+3
  451. ADCMD_LOCK        EQU    CMD_NONSTD+4
  452. ADCMD_WAITCYCLE        EQU    CMD_NONSTD+5
  453. ADCMDB_NOUNIT        EQU    5
  454. ADCMDF_NOUNIT        EQU    1<<5
  455. ADCMD_ALLOCATE        EQU    ADCMDF_NOUNIT+0
  456. ADIOB_PERVOL            EQU    4
  457. ADIOF_PERVOL            EQU    1<<4
  458. ADIOB_SYNCCYCLE        EQU    5
  459. ADIOF_SYNCCYCLE        EQU    1<<5
  460. ADIOB_NOWAIT            EQU    6
  461. ADIOF_NOWAIT            EQU    1<<6
  462. ADIOB_WRITEMESSAGE    EQU    7
  463. ADIOF_WRITEMESSAGE    EQU    1<<7
  464. ADIOERR_NOALLOCATION    EQU    -10
  465. ADIOERR_ALLOCFAILED    EQU    -11
  466. ADIOERR_CHANNELSTOLEN    EQU    -12
  467.     
  468.             STRUCTURE    IOAudio,IO_SIZE
  469.             WORD    ioa_AllocKey
  470.             APTR        ioa_Data
  471.             ULONG    ioa_Length
  472.             UWORD    ioa_Period
  473.             UWORD    ioa_Volume
  474.             UWORD    ioa_Cycles
  475.             STRUCT    ioa_WriteMsg,MN_SIZE
  476.             LABEL    ioa_SIZEOF
  477.  
  478.     STRUCTURE    TC,LN_SIZE
  479.     UBYTE    TC_FLAGS
  480.     UBYTE    TC_STATE
  481.     BYTE    TC_IDNESTCNT    *    intr    disabled    nesting
  482.     BYTE    TC_TDNESTCNT    *    task    disabled    nesting
  483.     ULONG    TC_SIGALLOC    *    sigs    allocated
  484.     ULONG    TC_SIGWAIT    *    sigs    we    are    waiting    for
  485.     ULONG    TC_SIGRECVD    *    sigs    we    have    received
  486.     ULONG    TC_SIGEXCEPT    *    sigs    we    take    as    exceptions
  487.     UWORD    TC_TRAPALLOC    *    traps    allocated
  488.     UWORD    TC_TRAPABLE    *    traps    enabled
  489.     APTR    TC_EXCEPTDATA    *    data    for    except    proc
  490.     APTR    TC_EXCEPTCODE    *    exception    procedure
  491.     APTR    TC_TRAPDATA    *    data    for    proc    trap    proc
  492.     APTR    TC_TRAPCODE    *    proc    trap    procedure
  493.     APTR    TC_SPREG    *    stack    pointer
  494.     APTR    TC_SPLOWER    *    stack    lower    bound
  495.     APTR    TC_SPUPPER    *    stack    upper    bound    +    2
  496.     APTR    TC_SWITCH    *    task    losing    CPU
  497.     APTR    TC_LAUNCH    *    task    getting    CPU
  498.     STRUCT    TC_MEMENTRY,LH_SIZE    *    allocated    memory
  499.     APTR    TC_Userdata
  500.     LABEL    TC_SIZE
  501.     BITDEF    T,PROCTIME,0
  502.     BITDEF    T,STACKCHK,4
  503.     BITDEF    T,EXCEPT,5
  504.     BITDEF    T,SWITCH,6
  505.     BITDEF    T,LAUNCH,7
  506. TS_INVALID    EQU    0
  507. TS_ADDED    EQU    TS_INVALID+1
  508. TS_RUN    EQU    TS_ADDED+1
  509. TS_READY    EQU    TS_RUN+1
  510. TS_WAIT    EQU    TS_READY+1
  511. TS_EXCEPT    EQU    TS_WAIT+1
  512. TS_REMOVED    EQU    TS_EXCEPT+1
  513. SIGF_ABORT    EQU    $0001
  514. SIGF_CHILD    EQU    $0002
  515. SIGF_BLIT    EQU    $0010
  516. SIGF_DOS    EQU    $0100
  517. SIGB_ABORT    EQU    0
  518. SIGB_CHILD    EQU    1
  519. SIGB_BLIT    EQU    4
  520. SIGB_DOS    EQU    8
  521. SYS_SIGALLOC    EQU    $0FFFF    
  522. SYS_TRAPALLOC    EQU    $08000    
  523. MP_SOFTINT    EQU    MP_SIGTASK
  524. PF_ACTION    EQU    3
  525. PA_SIGNAL    EQU    0
  526. PA_SOFTINT    EQU    1
  527. PA_IGNORE    EQU    2
  528. DEVINIT    MACRO    *    [baseOffset]
  529.     IFC    '\1',''
  530. CMD_COUNT    SET    CMD_NONSTD
  531.     ENDC
  532.     IFNC    '\1',''
  533. CMD_COUNT    SET    \1
  534.     ENDC
  535.     ENDM
  536. DEVCMD    MACRO    *    cmdname
  537. \1    EQU    CMD_COUNT
  538. CMD_COUNT    SET    CMD_COUNT+1
  539.     ENDM
  540.  
  541.     DEVINIT    0
  542.     DEVCMD    CMD_INVALID    *    invalid    command
  543.     DEVCMD    CMD_RESET    *    reset    as    if    just    inited
  544.     DEVCMD    CMD_READ    *    standard    read
  545.     DEVCMD    CMD_WRITE    *    standard    write
  546.     DEVCMD    CMD_UPDATE    *    write    out    all    buffers
  547.     DEVCMD    CMD_CLEAR    *    clear    all    buffers
  548.     DEVCMD    CMD_STOP    *    hold    current    and    queued
  549.     DEVCMD    CMD_START    *    restart    after    stop
  550.     DEVCMD    CMD_FLUSH    *    abort    entire    queue
  551.     DEVCMD    CMD_NONSTD
  552. BPTR    MACRO    *    Long    word    pointer
  553.     LONG    \1
  554.     ENDM
  555. BSTR    MACRO    *    Long    word    pointer    to    BCPL    string.
  556.     LONG    \1
  557.     ENDM
  558.  
  559.     STRUCTURE    WBStartup,0
  560.     STRUCT    sm_Message,MN_SIZE    
  561.     APTR    sm_Process    
  562.     BPTR    sm_Segment    
  563.     LONG    sm_NumArgs    
  564.     APTR    sm_ToolWindow    
  565.     APTR    sm_ArgList    
  566.     LABEL    sm_SIZEOF
  567.     STRUCTURE    WBArg,0
  568.     BPTR    wa_Lock    
  569.     APTR    wa_Name    
  570.     LABEL    wa_SIZEOF
  571.  
  572. SHARED_LOCK    EQU    -2    
  573. ACCESS_READ    EQU    -2    
  574. EXCLUSIVE_LOCK    EQU    -1    
  575. ACCESS_WRITE    EQU    -1    
  576.  
  577.     STRUCTURE    DateStamp,0    
  578.     LONG    ds_Days    
  579.     LONG    ds_Minute    
  580.     LONG    ds_Tick    
  581.     LABEL    ds_SIZEOF    
  582. TICKS_PER_SECOND    EQU    50    
  583.     STRUCTURE    FileInfoBlock,0
  584.     LONG    fib_DiskKey
  585.     LONG    fib_DirEntryType    
  586.     
  587.     STRUCT    fib_FileName,108    
  588.     LONG    fib_Protection    
  589.     LONG    fib_EntryType
  590.     LONG    fib_Size    
  591.     LONG    fib_NumBlocks    
  592.     STRUCT    fib_DateStamp,ds_SIZEOF    
  593.     STRUCT    fib_Comment,116    
  594.     LABEL    fib_SIZEOF    
  595.     BITDEF    FIB,READ,3
  596.     BITDEF    FIB,WRITE,2
  597.     BITDEF    FIB,EXECUTE,1
  598.     BITDEF    FIB,DELETE,0
  599.     STRUCTURE    InfoData,0
  600.     LONG    id_NumSoftErrors    *    number    of    soft    errors    on    disk    
  601.     LONG    id_UnitNumber    *    Which    unit    disk    is    (was)    mounted    on    
  602.     LONG    id_DiskState    *    See    defines    below    
  603.     LONG    id_NumBlocks    *    Number    of    blocks    on    disk    
  604.     LONG    id_NumBlocksUsed    *    Number    of    block    in    use    
  605.     LONG    id_BytesPerBlock    
  606.     LONG    id_DiskType    *    Disk    Type    code
  607.     BSTR    id_VolumeNode    *    BCPL    pointer    to    volume    name    (BCPL    stirng)
  608.     LONG    id_InUse    *    Flag,    zero    if    not    in    use
  609.     LABEL    id_SIZEOF    *    InfoData    
  610. ID_WRITE_PROTECTED    EQU    80    *    Disk    is    write    protected    
  611. ID_VALIDATING    EQU    81    *    Disk    is    currently    being    validated    
  612. ID_VALIDATED    EQU    82    *    Disk    is    consistent    and    writeable    
  613. ID_NO_DISK_PRESENT    EQU    -1
  614. ID_UNREADABLE_DISK    EQU    ('B'<<24)!('A'<<16)!('D'<<8)
  615. ID_NOT_REALLY_DOS    EQU    ('N'<<24)!('D'<<16)!('O'<<8)!('S')
  616. ID_DOS_DISK    EQU    ('D'<<24)!('O'<<16)!('S'<<8)
  617. ID_KICKSTART_DISK    EQU    ('K'<<24)!('I'<<16)!('C'<<8)!('K')
  618. ERROR_NO_FREE_STORE    EQU    103
  619. ERROR_OBJECT_IN_USE    EQU    202
  620. ERROR_OBJECT_EXISTS    EQU    203
  621. ERROR_OBJECT_NOT_FOUND    EQU    205
  622. ERROR_ACTION_NOT_KNOWN    EQU    209
  623. ERROR_INVALID_COMPONENT_NAME    EQU    210
  624. ERROR_INVALID_LOCK    EQU    211
  625. ERROR_OBJECT_WRONG_TYPE    EQU    212
  626. ERROR_DISK_NOT_VALIDATED    EQU    213
  627. ERROR_DISK_WRITE_PROTECTED    EQU    214
  628. ERROR_RENAME_ACROSS_DEVICES    EQU    215
  629. ERROR_DIRECTORY_NOT_EMPTY    EQU    216
  630. ERROR_DEVICE_NOT_MOUNTED    EQU    218
  631. ERROR_SEEK_ERROR    EQU    219
  632. ERROR_COMMENT_TOO_BIG    EQU    220    
  633. ERROR_DISK_FULL    EQU    221
  634. ERROR_DELETE_PROTECTED    EQU    222
  635. ERROR_WRITE_PROTECTED    EQU    223    
  636. ERROR_READ_PROTECTED    EQU    224
  637. ERROR_NOT_A_DOS_DISK    EQU    225
  638. ERROR_NO_DISK    EQU    226
  639. ERROR_NO_MORE_ENTRIES    EQU    232
  640. RETURN_OK    EQU    0    *    No    problems,    success    
  641. RETURN_WARN    EQU    5    *    A    warning    only    
  642. RETURN_ERROR    EQU    10    *    Something    wrong    
  643. RETURN_FAIL    EQU    20    *    Complete    or    severe    failure
  644.     BITDEF    SIGBREAK,CTRL_C,12
  645.     BITDEF    SIGBREAK,CTRL_D,13
  646.     BITDEF    SIGBREAK,CTRL_E,14
  647.     BITDEF    SIGBREAK,CTRL_F,15
  648.     STRUCTURE    DosPacket,0
  649.     APTR    dp_Link    *    pointer    to    EXEC    message
  650.     APTR    dp_Port    *    pointer    to    Reply    port    for    the    packet
  651.     LONG    dp_Type    *    See    ACTION_...    below    and
  652.     LONG    dp_Res1    *    For    file    system    calls    this    is    the    result
  653.     LONG    dp_Res2    *    For    file    system    calls    this    is    what    would
  654.     LONG    dp_Arg1
  655. dp_Action    EQU    dp_Type
  656. dp_Status    EQU    dp_Res1
  657. dp_Status2    EQU    dp_Res2
  658. dp_BufAddr    EQU    dp_Arg1
  659.     LONG    dp_Arg2
  660.     LONG    dp_Arg3
  661.     LONG    dp_Arg4
  662.     LONG    dp_Arg5
  663.     LONG    dp_Arg6
  664.     LONG    dp_Arg7
  665.     LABEL    dp_SIZEOF    *    DosPacket
  666.     STRUCTURE    StandardPacket,0
  667.     STRUCT    sp_Msg,MN_SIZE
  668.     STRUCT    sp_Pkt,dp_SIZEOF
  669.     LABEL    sp_SIZEOF    *    StandardPacket
  670. ACTION_NIL    EQU    0
  671. ACTION_GET_BLOCK    EQU    2
  672. ACTION_SET_MAP    EQU    4
  673. ACTION_DIE    EQU    5
  674. ACTION_EVENT    EQU    6
  675. ACTION_CURRENT_VOLUME    EQU    7
  676. ACTION_LOCATE_OBJECT    EQU    8
  677. ACTION_RENAME_DISK    EQU    9
  678. ACTION_WRITE    EQU    'W'
  679. ACTION_READ    EQU    'R'
  680. ACTION_FREE_LOCK    EQU    15
  681. ACTION_DELETE_OBJECT    EQU    16
  682. ACTION_RENAME_OBJECT    EQU    17
  683. ACTION_COPY_DIR    EQU    19
  684. ACTION_WAIT_CHAR    EQU    20
  685. ACTION_SET_PROTECT    EQU    21
  686. ACTION_CREATE_DIR    EQU    22
  687. ACTION_EXAMINE_OBJECT    EQU    23
  688. ACTION_EXAMINE_NEXT    EQU    24
  689. ACTION_DISK_INFO    EQU    25
  690. ACTION_INFO    EQU    26
  691. ACTION_SET_COMMENT    EQU    28
  692. ACTION_PARENT    EQU    29
  693. ACTION_TIMER    EQU    30
  694. ACTION_INHIBIT    EQU    31
  695. ACTION_DISK_TYPE    EQU    32
  696. ACTION_DISK_CHANGE    EQU    33
  697.  
  698.     STRUCTURE    TIMEVAL,0
  699.     ULONG    TV_SECS
  700.     ULONG    TV_MICRO
  701.     LABEL    TV_SIZE
  702.  
  703.  
  704. FILENAME_SIZE    equ    30        
  705. POINTERSIZE        equ    (1+16+1)*2    
  706.     STRUCTURE    Preferences,0    
  707.     BYTE    pf_FontHeight            
  708.     UBYTE    pf_PrinterPort        
  709.     USHORT    pf_BaudRate            
  710.     STRUCT    pf_KeyRptSpeed,TV_SIZE    
  711.     STRUCT    pf_KeyRptDelay,TV_SIZE    
  712.     STRUCT    pf_DoubleClick,TV_SIZE        
  713.     STRUCT    pf_PointerMatrix,POINTERSIZE*2    
  714.     BYTE    pf_XOffset        
  715.     BYTE    pf_YOffset        
  716.     WORD    pf_color17        
  717.     WORD    pf_color18        
  718.     WORD    pf_color19        
  719.     WORD    pf_PointerTicks        
  720.     WORD    pf_color0        
  721.     WORD    pf_color1        
  722.     WORD    pf_color2        
  723.     WORD    pf_color3            
  724.     BYTE    pf_ViewXOffset        
  725.     BYTE    pf_ViewYOffset        
  726.     WORD    pf_ViewInitX        
  727.     WORD    pf_ViewInitY        
  728.     BOOL    EnableCLI            
  729.     WORD    pf_PrinterType        
  730.     STRUCT    pf_PrinterFilename,FILENAME_SIZE        
  731.     SHORT    pf_PrintPitch            
  732.     WORD    pf_PrintQuality    
  733.     WORD    pf_PrintSpacing    
  734.     UWORD    pf_PrintLeftMargin    
  735.     UWORD    pf_PrintRightMargin    
  736.     WORD    pf_PrintImage        
  737.     WORD    pf_PrintAspect        
  738.     WORD    pf_PrintShade        
  739.     WORD    pf_PrintThreshold        
  740.     WORD    pf_PaperSize        
  741.     UWORD    pf_PaperLength    
  742.     WORD    pf_PaperType        
  743.     UBYTE     pf_SerRWBits
  744.     UBYTE     pf_SerStopBuf
  745.     UBYTE    pf_SerParShk
  746.     UBYTE    pf_LaceWB
  747.     STRUCT    pf_padding,46
  748.     LABEL    pf_SIZEOF
  749.